'\" te
.\"  Copyright (c) 2007, Sun Microsystems, Inc.  All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH SIP_GET_NUM_VIA 3SIP "Jan 23, 2007"
.SH NAME
sip_get_num_via, sip_get_branchid \- get VIA header specific attributes
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lsip\fR [ \fIlibrary\fR ... ]
#include <sip.h>

\fBint\fR \fIsip_get_num_via\fR(\fBsip_msg_t\fR \fIsip_msg\fR,
     \fBint *\fR\fIerror\fR);
.fi

.LP
.nf
\fBchar *\fR\fIsip_get_branchid\fR(\fBsip_msg_t\fR \fIsip_msg\fR,
     \fBint *\fR\fIerror\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBsip_get_num_via()\fR function returns the number of \fBVIA\fR headers in
the \fBSIP\fR message \fIsip_msg\fR.
.sp
.LP
The \fBsip_get_branchid()\fR function returns the branch ID value from the
topmost \fBVIA\fR header. The caller is responsible for freeing the returned
string.
.SH RETURN VALUES
.sp
.LP
The \fBsip_get_num_via()\fR function returns the number of \fBVIA\fR headers on
success.
.sp
.LP
The \fBsip_get_branchid()\fR function returns the branch ID on success and
\fBNULL\fR on failure.
.sp
.LP
The value of \fBerrno\fR is not changed by these calls in the event of an
error.
.SH ERRORS
.sp
.LP
If the error is non-null, one of the following values is set:
.sp
.ne 2
.na
\fB\fBEINVAL\fR\fR
.ad
.RS 10n
The \fIsip_msg\fR is \fBNULL\fR.
.RE

.sp
.ne 2
.na
\fB\fBENOENT\fR\fR
.ad
.RS 10n
For the \fIsip_get_branchid\fR function, there is no \fBVIA\fR header or the
\fBVIA\fR header has no branch parameter.
.RE

.sp
.ne 2
.na
\fB\fBEPROTO\fR\fR
.ad
.RS 10n
For the \fIsip_sip_get_trans.3sipget_branchid\fR function, the \fBVIA\fR value
is invalid. The parser encountered an error or errors while parsing the
\fBVIA\fR header.
.RE

.sp
.ne 2
.na
\fB\fBENOMEM\fR\fR
.ad
.RS 10n
For the \fIsip_get_branchid\fR function, there is an error in allocating memory
for the branch ID.
.RE

.sp
.LP
On success, the value of the location pointed to by \fIerror\fR is set to
\fB0\fR.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Committed
_
MT-Level	MT-Safe
.TE

.SH SEE ALSO
.sp
.LP
.BR libsip (3LIB)
